package com.hxzy.service;

import com.hxzy.dto.RoleSearchDTO;
import com.hxzy.entity.Role;
import com.hxzy.vo.ZTree;

import java.util.List;

/**
 * 类说明
 *
 * @author admin
 * @date 2021-09-06
 */
public interface RoleService extends CommonService<Role, Long>{
    /**
     * 查询数据
     * @param roleSearchDTO
     * @return
     */
    List<Role> search(RoleSearchDTO roleSearchDTO);

    /**
     * 根据角色查询拥的菜单id并且组装成一个ztree
     * @param roleId
     * @return
     */
    List<ZTree> roleMenuTreeData(Integer roleId);

    /**
     * 检查角色名称是否唯一
     * @param id
     * @param name
     * @return
     */
    int existsRoleName(Integer id, String name);

    /**
     *  检查角色标识是否唯一
     * @param id
     * @param perms
     * @return
     */
    int existsRolePerms(Integer id, String perms);

    /**
     * 新增并授权菜单权限
     * @param role 角色
     * @param permsList 菜单
     * @return
     */
    int addAndGrantMenu(Role role,List<Long> permsList);

    /**
     * 修改并授权菜单权限
     * @param role
     * @param permsList
     * @return
     */
    int editAndGrantMenu(Role role, List<Long> permsList);
}
